package cn.iocoder.an.module.mold.controller.admin.repairstatics.vo;

import cn.iocoder.an.module.mold.dal.dataobject.account.AccountDO;
import cn.iocoder.an.module.mold.dal.dataobject.drawingno.DrawingNoDO;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.VO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 维修统计 Response VO")
@Data
@ExcelIgnoreUnannotated
public class RepairStaticsRespVO implements VO {
    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "28756")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "模具台账id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7731")
    @ExcelProperty("模具台账id")
    @Trans(type = TransType.SIMPLE, target = AccountDO.class, fields = {"name", "code"}, refs = {"accountName", "accountCode"})
    private Long accountId;

    @Schema(description = "模具名", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @ExcelProperty("模具名")
    private String accountName;

    @Schema(description = "编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("编码")
    private String accountCode;

    @Schema(description = "图号id", requiredMode = Schema.RequiredMode.REQUIRED, example = "6468")
    @Trans(type = TransType.SIMPLE, target = DrawingNoDO.class, fields = "drawingNo", ref = "drawingNo")
    private Long drawingNoId;

    @Schema(description = "图号")
    @ExcelProperty("图号")
    private String drawingNo;

    @Schema(description = "申请部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "12186")
    @ExcelProperty("申请部门")
    private Long departId;

    @Schema(description = "模具分类id", example = "28437")
    @ExcelProperty("模具分类id")
    private Long moldCategoryId;

    @Schema(description = "维修次数")
    @ExcelProperty("维修次数")
    private Long repairCounts;

    @Schema(description = "维修工时")
    @ExcelProperty("维修工时")
    private Long repairManHours;

    @Schema(description = "内修次数")
    @ExcelProperty("内修次数")
    private Long innerRepairCounts;

    @Schema(description = "内修工时")
    @ExcelProperty("内修工时")
    private Long innerRepairManHours;

    @Schema(description = "外修次数")
    @ExcelProperty("外修次数")
    private Long outerRepairCounts;

    @Schema(description = "外修工时")
    @ExcelProperty("外修工时")
    private Long outerRepairManHours;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
}
